// recover()必须和defer使用
// defer一定要在可能引发panic的语句之前定义

package main

import "fmt"

func funcA() {
	fmt.Println('a')
}
func funcB(){
	//刚打开数据库连接
	defer func() {
		err:=recover()
		fmt.Println(err)
		fmt.Println("释放数据库连接")
	}()
	panic("出现了严重错误") //程序运行期间funcB中引发了panic，导致程序崩溃退出，这个时候可以通过recover将程序恢复回来，继续往后执行
}
func funC(){
	fmt.Println('c')
}
func main() {
	funcA()
	funcB()
	funC()
}